Method of performing a thrombectomy procedure

ABSTRACT

According to the invention there is provided an intravascular catheter and thrombectomy procedure utilizing the catheter. The catheter comprises a flexible jacket with a distal working head having a canalizing tip rotatable at high speeds for removing thrombus from the lumen of a vessel. A flexible drive assembly extends through the jacket to rotate the tip and a plurality of infusion ports are formed adjacent the distal end of the jacket, capable of delivering a fluid contrast media at relatively high volumetric flow rates into the lumen of the vessel to locate the site of the thrombus. The canalizing tip is then rotated at high speed to homogenize and remove the thrombus from the lumen.

BACKGROUND OF THE INVENTION

1. Technical Field

The invention relates generally to intravascular catheters, particularlycatheters having a rotating tip, and being useful in removing thrombusfrom the lumen of a vessel, such as an artery or vein.

2. Description of the Prior Art

During an atherectomy procedure using a rotating catheter, it is oftennecessary and desirable to route the catheter through a vessel along aguidewire which has been, in turn, threaded through the center of thecatheter and partially through the lumen of the vessel. Further, it isdesirable to keep the catheter tube located in the vessel followingatherectomy to allow threading of the guidewire into and out of thecatheter tube; moreover, it is desirable to leave the catheter tube inplace without removing it from the vessel in order to change from anatherectomy catheter to a diagnostic device or balloon catheter.Unfortunately, conventional rotating catheters that do not have aguidewire cannot be used for such exchange because they are solid,therefore, no simple easy means exist for providing the desired exchangefunction.

One approach of conventional devices is found in U.S. Pat. No. 4,696,667to Masch, which discloses an intravascular catheter including a flexibleguidewire housed within a flexible hollow tubular drive member. Thetubular drive member is originally attached to a working head at thedistal end of the tube and is driven at the proximal end of the tube bya drive assembly. The drive assembly is composed of a series of gearsthat engage and rotate the tubular drive member. The tubular drivemember is stationary and cannot be removed.

Another example is U.S. Pat. No. 4,747,406 to Nash, which discloses aflexible elongated tubular catheter having a tool which rotates atrelatively high speeds, for example, 20,000 rpm, located at the distalend of the catheter. The tool used has a central opening and is rotatedby a hollow wire drive shaft.

In other catheters of the "Kensey" type, a central passageway in thedrive shaft aligns with the central opening of the cutting tool toaccept a conventional guidewire. Thus, although the catheter tube can bethreaded along a guidewire during the cutting operation, the driveassembly is not removable.

A specific concern to which intravascular therapy has been directed isacute pulmonary thrombosis, a life-threatening condition that isdifficult to diagnose and treat. Acute thrombosis can occur in manyareas of the vascular system, causing reduced hemodynamic flow andpotential problems for the patient. Although current techniques existfor treating thrombosis, each possess drawbacks rendering them overlytime-consuming and risky, with limited effectiveness.

Several drug therapies have been proposed for treatment of thrombus, forexample, blood thinners such as Streptokinase, Urokinase and TissuePlasminogen Activator (TPA), and have been found useful in reducingthrombus in patients. However a disadvantage of this approach is thatthese drugs are slow-acting agents, which in acute conditions likepulmonary thrombosis means that patients do not live long enough for thedrug to work. Although at increased dosages the results are somewhatfaster, the incidence of internal bleeding becomes a negative factor.

Surgical removal of thrombus-affected vessels has also been performed,but this procedure is much more invasive than drug therapy. Moreover,certain areas of the body are more hazardous for this procedure, furtherincreasing patient risk.

A balloon technique has been utilized for certain thrombus-ladenvessels, for example, in the lower extremities. In the legs, a deflatedballoon is passed below the desired treatment area, then inflated andwithdrawn, pulling debris up with the balloon. A disadvantage of thistechnique is the hazard of unremoved thrombus chunks flowing upstreamand lodging in the vessel lumen.

A "Kensey" type of recanalization catheter has also been studied for useas an interventional approach to thrombosis, for example, an 8 Frenchcatheter has been developed by Drs. Kensey and Nash. Although suchdevices have been found capable of thrombus ablation, they lackdiagnostic capabilities and are difficult to maneuver to the correctlocation. Further, the exposed tip of the catheter has the potential forcausing trauma in tight-fitting locations.

An aspirating, low-speed mechanical catheter for percutaneousthrombectomy has also been proposed, e.g., U.S. Pat. No. 4,700,470,using an internal propeller for pulling thrombus in and an externalvacuum source to pull debris out through the catheter. Again, neitherdiagnostic capability nor maneuverability assistance is provided.

In the past, when physicians have had to operate both a rotatingcatheter device and a fluid dispenser device as a single unit, it wasnecessary to operate two separate and independent controllers. In otherwords, a dedicated motor controller was used to control the speed ofrotation of the catheter tip and a separate fluid controller was used tocontrol the amount of fluid dispensed, and the two controllerscommunicated through a separate interface. The operator of such a dualsystem must be highly trained in order to properly monitor both systems.Further, since the fluid controller system is a general purposecontroller system, it provides certain functions that are unneeded for arotating tip, fluid ejecting catheter device. Hence, the resultingsystem is far more complex than actually needed and accordingly, moreexpensive than required.

Examples of prior art catheter motors and motor controller systemsinclude the system manufactured by Norland Corporation, of FortAtkinson, Wis. under part number TW1. Examples of prior art fluidcontrol systems include the systems shown in U.S. Pat. No. 4,854,324 inthe name of Alan D. Hirschman et al and entitled, "Processor ControlledAngiographic Injector Device"; U.S. Pat. No. 4,812,724 in the name ofAlois A. Langer et al and entitled, "Injector Control"; U.S. Pat. No.4,024,864 in the name of Gomer L. Davies et al and entitled, "InjectorWith Overspeed Protector"; U.S. Pat. No. 3,701,345 in the name of MarlinS. Heilman et al and entitled, "Angiographic Injector Equipment" andU.S. Pat. No. 3,623,474 in the name of Marlin S. Heilman and entitled,"Angiographic Injection Equipment".

Accordingly, there still remains a need for an interventional instrumentthat percutaneously enters the body and is capable of selectivediagnosis when sufficiently close to an affected area of the vascularsystem, particularly such a device which is useful in evaluating andtreating acute thrombosis.

There is also still a need for a rotating intravascular catheter whichhas a removable drive system for allowing a catheter to remain in placein the vessel of a lumen so that a drive assembly and the guidewire maybe interchangeably routed through the center of the catheter.

There is a also a further need for an improved combination rotationalmotor and fluid infusion controller for catheters having rotating tips,which can be effectively manipulated by a single operator during anintravascular surgical procedure.

SUMMARY OF THE INVENTION

According to one aspect of the invention there is provided anintravascular catheter comprising an elongated flexible jacket havingopposed proximal and distal ends and a central passageway extendingbetween the ends. A working head is located at the distal end of thejacket and has a canalizing tip, capable of removing occlusions from thelumen of a vessel, the tip being rotatably supported on the workinghead. A flexible drive assembly extends through the passageway of thejacket and is adapted for rotating the tip at high speeds. A pluralityof infusion ports are formed in the jacket adjacent the distal end,which are capable of delivering injectable fluid contrast media atrelatively high volumetric flow rates through the passageway into thelumen of the vessel.

There is also provided a canalization method comprising the steps ofproviding an intravascular catheter having a flexible jacket withopposed proximal and distal ends and a central passageway, extendingbetween the ends, in fluid communication with a plurality of fluidinfusion ports formed in the jacket adjacent the distal end. Thecatheter is provided also with a working head at the distal end of thejacket, including a canalizing tip rotatably mounted on the workinghead, the tip being rotatable at high speed by a flexible drive cableextending through the passageway and removably coupled to the tip. Thedistal end of the catheter jacket is inserted into the vessel lumen aselected distance with the drive cable removed, according to theprocedure, and a guidewire is routed from the proximal end through thecentral passageway. The catheter jacket is advanced over the guidewireanother selected distance and fluid contrast media infused at relativelyhigh volumetric rates through the ports into the vessel, allowingprecise manipulation of the guidewire to the located site of thethrombus by suitable angiographic location techniques. The guidewire isthen preferably removed from the jacket and the lumen, and the drivecable introduced through the jacket and coupled to the tip, which isrotated at relatively high speeds to homogenize and remove the thrombus.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may be better appreciated by reference to the attachedDrawings, which illustrate one or more preferred embodiments, wherein:

FIG. 1 is a sectional view of a catheter according to the invention,showing the removable connection of the drive assembly to the workinghead, as well as the preferred to the quick-disconnect of the drivecable to the means for rotating the drive cable;

FIG. 2 is an enlarged sectional view of the working head, showing thereleasable connection between the cutting tip and the drive cable of theinvention;

FIG. 3 is an enlarged view of the torque-transmitting distal end of thedrive cable, adapted for rotating the cutting tip of the invention;

FIG. 4 is an end view of the cutting tip, with the drive assemblyinserted into the central passageway of the invention;

FIG. 5 is an external view of the preferred helical bearing whichsurrounds the drive cable;

FIG. 6 is a sectional view of the catheter shown in FIG. 1 except thatthe drive assembly has been replaced by a guidewire extending throughthe central passageway of the invention;

FIG. 7 is an external perspective view of a thrombectomy catheter,showing especially the drive assembly and infusion ports of theinvention;

FIG. 8 is an enlarged view of the distal end of the catheter jacketshown in FIG. 7, showing the shrouded tip and infusion ports in greaterdetail, in a preferred aspect of the invention;

FIG. 9 shows a perspective view of the control system for controllingthe catheter motor and fluid injector motor coupled to control theoperation of the catheter shown in FIG. 1;

FIG. 10 illustrates the control panel for the system shown in FIG. 9;

FIG. 11 shows a block diagram of the control system of FIG. 9;

FIG. 12 shows, primarily in block format, a more detailed diagram of thetwo processors and their associated circuits used to control thecatheter motor and fluid injector motor;

FIG. 13 shows the foot switch circuit;

FIG. 14 shows the fluid motor direction monitoring circuit; and

FIG. 15 shows, primarily in block diagram form, the catheter motordriver circuit.

DETAILED DESCRIPTION

Referring to FIGS. 1-2, an intravascular catheter, generally shown at10, comprises an elongated flexible jacket 12 having opposed proximal 14and distal 16 ends, defining a central passageway 18 extending betweenand innerconnecting the ends. A working head, generally indicated at 20,is located at the distal end 16 of the jacket 12 and preferably includesbearing means 22 for supporting a rotatable tip 24 on the working head.A flexible drive cable 26 extends through the central passageway 18 andhas a driving portion 28 releasably connected to the working head 20 anda driven portion 30 operatively connected to a source of high-speedrotary motion. The cable 26 is removable from the central passageway 18of the jacket 12 once the driving portion 28 has been disconnected fromthe working head 20.

Referring to FIGS. 1-6, a releasable coupling is provided, preferably aluer lock mechanism 34 for releasably coupling and uncoupling thedriving portion 28 of cable 26 from the working head 20. Specifically,the quick-disconnect coupling mechanism 34 further comprises a maleportion 36 which interlocks with a female portion 38, both male 36 andfemale 38 portions being integral with the jacket 12. Thequick-disconnect mechanism 34 operates as a twist-off coupling allowingthe jacket to be separated at the coupling 34 and the drive assemblyremoved (FIG. 1) and replaced with a guidewire 40, as shown in FIG. 6.As shown in FIG. 2, the tip 24 functions integrally with the workinghead 20 because the bearing sleeve 22 is press fit into the centralpassageway 18. The tip 24 has a central guideway 42 which alternatelyreceives the driving end 28 of the cable 26 to rotate the tip and, whenthe cable is withdrawn from the central passageway, allows guidewire 40to pass through the guideway 42 (FIG. 6).

Referring to FIG. 5, the drive cable 26 preferably is made of a flexiblesolid wire which, as shown in FIGS. 1 and 6, extends through the centralpassageway between the proximal 14 and distal 16 ends of the jacket 12.The driven end 30 which is coupled to the powerized source furthercomprises a larger diameter portion 43 which is press fit into anarrowed throat 44 formed in the central passageway 18 adjacent theproximal end 14 of the jacket 12. A stop block 46 on the driven end 30is provided to limit axial movement of the cable, the block 46 abuttinga proximal shoulder 48 and a distal shoulder 50 of a widened centeringportion 52 adjacent the proximal end 14 of the jacket 12.

Referring further to FIGS. 1 and 6-7, a source of injectable fluidsupplies a radiopaque liquid to central passageway 18 of jacket 12through port 54. The port 54 is connected to a housing 56 which receivesan injection tube 58 having a lumen 60 (shown in phantom) that opensinto a delivery port 62 leading, in turn, into the throat 44 of thecentral passageway 18. The radiopaque fluid injected through the channel62 travels toward the distal end 16 of the jacket 12 through the centralpassageway 18, exiting from the high volume infusion ports 31 into thelumen of a vessel. It should be understood that additional infusion offluid may occur by seepage through various articulating surfaces of theworking head 20, however, such a flow path is much more restrictedcompared with the much greater infusion capacity achieved through ports31. The drive cable 26 is made of small diameter wire and is furthersurrounded by an elongated helically-wound bearing 64, around which iswound an elongated helical bearing 64 taking the form of a wire coilsurrounding cable 26. The helical bearing 64 prevents the metal cable26, when rotating, from frictionally contacting the relatively softerplastic material of jacket 12, particularly when the jacket is bent, asoften occurs in conforming to the convoluted path of a vessel lumen. Thehelically-wound bearing 64 is removable from jacket 12 along with thedrive cable 26 as a single assembly. The widened portion 30 of the drivecable 26 which, in operation, is situated adjacent proximal end 14 ofjacket 12, is coupled to a drive shaft 66 powered by the appropriatesource of rotary motion.

Referring to FIGS. 2-4, the driving pin 28 of cable 26 has a chuck 68which includes a shoulder 70 for abutting the end of a shaft 72 which isintegral with the tip 24. As mentioned previously, the bearing sleeve 22extends within the central passageway at the distal end 16 of jacket 12.Bearing sleeve 22 is snapped into place axially on the distal end 16 ofjacket 12 by locking barb 74 which engages a corresponding groove 76formed in the internal surface 78 of the jacket 12. A retaining sleeve80 extends proximally from barb 74 to center the chuck 68 in abutmentwith the bearing sleeve 22. Chuck 68 has an internal fitting 82 intowhich an end of drive cable 26 is welded in place. Bearing sleeve 22contains an annular groove 84. The driving pin 28 of cable 26 has aspiked apex 88 extending partially into guideway 42 of tip 22. Drivingpin 28 has an irregular, preferably rectangular transverse crosssection, which mates with that of guideway 42, such that the driving pin28 of the cable 26 transmits torque to the guideway 42 for rotating thetip 24 at high speeds.

FIG. 4 shows tip 24 in greater detail, with a pair of flattenedhemispherical sides 90 defining a pair of arcuate cutting edges 92 whichconverge centrally on guideway 42. As will be appreciated, there stillremains a relatively limited fluid path for seepage of infused liquidthrough the guideway via openings between adjacent articulatingsurfaces, as indicated by numeral 94.

Referring to FIGS. 6-7, there is shown a preferred embodiment of thecatheter 10 designed specifically for diagnosis and treatment oflife-threatening acute pulmonary thrombosis. The jacket 12 isparticularly well-suited for the tortuous branches of the lung; however,it is also adaptable to other vascular thrombosis. The tip 24 functionsas a high-speed rotary impeller and has a rounded shape, surrounded by ashroud 96 affixed to the working head 20 of an 8 French flexiblecatheter jacket 12. In this respect, the tip 24 functions to homogenizethe thrombus. Shroud 96 has a plurality of relatively wide longitudinalslots 98, although circular or oral openings (not shown) could be used.The shroud 96, designed to present a smooth exterior to the vessellumen, is of relatively thin metal, with smooth edges which shield thevascular tissue from the tip and avoid trauma to the vessel wall,compared with the prior art structures alluded to above. A guide wire(not shown) can be used for tracking the catheter through the lumen, asexplained above with reference to the other Figures.

Fluid is injected through the ports 31 preferably by manual delivery(see below), with the drive cable 26 removed to allow unobstructed flowthrough the central passageway 18 as shown in FIG. 6. Where higherdelivery rates are required, e.g., greater than 10-60 ml./min., aspecial injector tube can be coupled to the jacket 12 via a standardluer fitting, rather than the proximal segment of jacket 12.

The inventors have found, through experimentation on simulatedthrombus-laden vessels, e.g., using food gelatin, that a slightprotrusion of the tip 24 distally past the shroud 96 is desirable to"pull" thrombus into the impeller tip 24 and break it up quickly,functioning as a combination pump/blender. A smaller 8 French"introducer" catheter is adequate for subcutaneous placement in thevessel through a correspondingly smaller puncture site, eliminating anyneed for a larger guide catheter. A pair of the ports 31 may belaterally opposing, i.e., 180 degrees apart, with another pair oflaterally opposing ports spaced proximally and offset 90 degrees fromthe first pair of ports 31. Although the fluid injector system describedrelative to FIGS. 9-15 (below) is typically adequate for thrombectomyprocedures involving the peripheral vessels in non-life threateningsituations, a higher volumetric rate is needed for pulmonarythrombolysis, particularly in the medium-to-large branches where manualinjection into tube 58 through port 54 is required at rates from 0.1-20ml./sec. depending on x-ray sensitivity.

Referring now to FIG. 9, a perspective view of the control system 100for controlling the catheter motor system 102 and fluid injector system104 coupled to control the operation of the catheter 10, is shown inFIG. 1. The control system 100 is used in atherectomy and somethrombolysis applications. More specifically, control system 100controls and drives the rotation of tip 24 and provides a controlledflow of fluid through guideway 94 (FIG. 4) of catheter 10. Cathetermotor system 102 is capable of rotating tip 24 at a velocity of up to100,000 revolutions per minute and fluid injector system 104 controlsthe flow rate of fluid flowing into catheter 10, which fluid may beused, among other things, to cool and lubricate tip 24. In addition,system 100 includes a power module 106, foot switch 108, a pedestal 110used to hold catheter motor system 102, fluid injector system 104 andpower module 106 and a series of cables 112 connecting power module 106to foot switch 108, catheter motor system 102 and system 104.

It should be understood that for most indications, the fluid injector104 is adequate for infusion of peripheral vessels, even inthrombolysis, but manual injection, at higher rates than provided byinjector 104, is needed in some applications where rate of delivery iscritical to patient survival. Such situations include pulmonarythrombolysis, especially in medium to large branches.

Power module 106 provides low voltage DC power to the catheter motorsystem 102, fluid injector system 104 and foot switch 108. Module 106includes a power switch 114 for shutting off the AC power provided topower module 106.

Fluid injector system 104 is designed to operate at pressures up to 150pounds per square inch and the flow rate of the fluid therefrom isadjustable from ten to sixty milliliters per minute, in steps of fivemilliliters per minute. A system control panel 116, seen in detail inFIG. 10, is placed on the cover of fluid control system 104 and may beused by an operator to control both the velocity the rotating tip 24 andthe fluid flow through catheter 10. Panel 116 will be described indetail hereafter with respect of FIG. 10. Fluid control system 104 alsoincludes a knob 118 for manually controlling the fluid flow of thesyringe 120 plunger included in system 104, which other wise iscontrolled by an electric motor.

Catheter motor system 102 includes the catheter motor and a motorcontrol unit therefor. The motor is a three phase, two pole brushless DCmotor controllable by a control unit in steps of 5000 rpm up to amaximum of 100,000 rpm. Catheter motor system 102 also contains a fan(not shown) and a ready indicator lamp 122, which flashes at a low ratewhen the motor is ready to operate and at a faster rate when the motoris operating. Catheter motor system 102 may be purchased from HaroweServo Controls, Inc. of West Chester, Pa. as part number B111OH1495 forthe motor and as part number CNT3605F001 for the associated motorcontroller.

Foot switch 108 is a two pole switch which, when depressed, operatesboth the catheter motor system 102 and the fluid injector system 104.When foot switch 108 is initially depressed, the motor in fluid injectorsystem 104 begins operating and approximately two to four seconds later,the motor in catheter motor system 102 begins operating. This delayinsures fluid is flowing prior to catheter motor operation so that tip24 is not damaged.

Referring now to FIG. 10, the operator panel 116 is shown. TheArmed/Injecting light 124 is illuminated whenever foot switch 106 isdepressed. Fluid scale 126 indicates the amount of fluid remaining insyringe 120. The remaining portion of panel 116 is divided into threesections, the injector control section 128, the motor control section130 and the additional control section 132. The injector control section128 includes a two digit display 134 which shows the programmed flowrate in milliliters per minute (ml/min). The flow rate is programmed bypressing one of the keys 136 or 138, which respectively increases (key136) or decreases (key 138) the flow rate. Two additional keys, Emptykey 140 and Fill key 142, are used to either empty or fill syringe 120.When the Empty key 140 is pressed and held, the syringe 120 plungermoves forward and ejects any fluid in syringe 120 and when the Empty key140 is released, the plunger stops. A door 144, which provides supportfor syringe 120 (seen in FIG. 9), must be closed to permit Empty key 140to operate. When Fill key 142 is pressed, the syringe 120 plunger movesbackwards and syringe 120 is filled. Fill key 142 is active regardlessof whether door 144 is open or closed. The syringe 120 plunger must befully retracted in order for syringe 120 to be removed. An injectormotor and its associated controller (described hereafter) controls themovement of the plunger of syringe 120.

In addition, injector section 128 includes three lights, a Low Fluidlight 146, a No Fluid light 148 and Pressure Limit light 150. The LowFluid light 146 is illuminated when the amount of fluid in syringe 120reaches the 30 milliliter level and the No Fluid light 148 becomesilluminated when the amount of fluid in syringe 120 reaches the 5milliliter level. The Pressure Limit light 150 becomes illuminated ifthe fluid injector system 104 pressure reaches 150 pounds per squareinch while injecting fluid. If the pressure limit is reached, the systemautomatically shuts down. For each of the lights 146, 148 and 150, abeeper (not shown) may be sounded to provide further warning.

The motor control section 130 is used to control the speed of cathetermotor system 102 and includes three digit display 152, a pair of keys154 and 156 and a Speed Error light 158. Display 152 displays theprogrammed, or desired, speed of the catheter motor of catheter motorsystem 102 (in thousands of rpm's), as set by operating keys 154 and156. Specifically, to increase the programmed speed of the motor incatheter motor system 102, as displayed on display 152, key 154 ispressed and to decrease the speed of the motor in catheter motor system102, as displayed on display 154, key 156 is pressed. If the actualspeed of the motor of catheter motor system 102 differs by more 5000 rpmfor more than one and one half seconds, then light 158 becomesilluminated, thereby indicating a speed error condition. Thereafter, thecontrol system automatically reduces the speed of the motor in cathetermotor system 102 to zero.

The additional control section 132 includes three keys, a Lo/Hi key 160,an Arm key 162 and a Stop key 164, and two pressure indicator lights, aLo light 166 and a Hi light 168. Lo/Hi key 160 is used to toggle betweenthe low and high pressure limits of fluid injector system 104. If only asingle pressure limit is used, then both the low and high pressurevalues may be set to be the same value, or Lo/Hi key 160 may bedisabled. Arm key 162 is pressed to activate the fluid injector system104 and when system 104 is armed, the Empty key 140 and Fill key 142 arerendered inactive and the Armed/Injecting light 124 flashes. Footswitch108 may be released when it is desired to stop the catheter motor system102. Once power is removed from the catheter motor system 102, fluidinjector system 104 stops and disarms, and the catheter motor system 102and flow rate from fluid injector system 104 maintain their settings.Further, the Armed/Injecting light extinguishes and the Empty and Fillkeys are reactivated. Alternatively, the Stop key 164 may be pressed tostop the catheter motor system 102, and this overrides the pressedfootswitch 108. When Stop key 164 is depressed, the catheter motorsystem 102 and fluid injector system 104 return to the default settings.

Referring now to FIG. 11, an electrical block diagram of system 100 isshown. In FIG. 11, like numerical designations are used for componentswhich are common with those shown by FIG. 9. As previously noted withrespect to FIG. 9, the principal components of system 100 are cathetermotor system 102, fluid injector system 104, power module 106 and footswitch 108. As further seen in FIG. 11, catheter motor system 102includes a catheter motor controller 170 and a catheter motor 172.Catheter motor 172 may be a commercially available three phase, two polebrushless DC motor. Catheter motor 172 may additionally include a fan(not shown) and an elapsed time indicator (not shown) and providesencoder signals manifesting the actual speed of motor 172. Motorcontroller 170 also may be a commercially available pulse widthmodulated brush less motor controller, delivering a zero to 100,000 rpmcontrol output.

Fluid injector system 104 includes operator panel 116, previouslydescribed with respect to FIG. 10, and injector motor 176, which may beconnected to move the plunger of any commercially available 130milliliter syringe having the appropriate barrel inside diameter. Anencoder disk 174 is attached to shaft 175 for providing signalsmanifesting the actual speed and direction of injector motor 176. Inaddition, fluid injector system includes a main processor 178 and aspeed processor 180, which together control the overall operation ofsystem 100, as will be described in detail hereafter. Further, aninjector motor controller 182 is provided in fluid injector system 104for providing appropriate pulse width modulated and other controlsignals to control the speed and direction of injection motor 176.Generally, the two processors 178 and 180, and their associated circuitsare shown in more detail in FIG. 12 and the injector motor controller182 is shown in FIG. 15.

In addition, power module 106 provides the power to each of the otherblocks heretofore described in FIG. 11. It may include appropriatedvoltage regulators for converting ordinary line voltage (e.g. 120 voltsAC) to the various voltages needed throughout system 100.

Referring now to FIG. 12, main processor 178 generally controls mostfunctions in system 100 and speed processor 180 generally monitors thespeed of catheter motor 172. Main processor may be a Motorola 68705U3micro-controller with 112 bytes of RAM, 3776 bytes of EPROM, three I/Oports, labeled A, B and C and one input port labeled D. The followingsignals assignments are made for the four ports of main processor 178.

Port A, bits 0-7: Configured for output only. Port A is used as the databus 184 to send 8 bits of parallel data to other components. Inaddition, lines 0 and 1 are used to send serial data to the displays 134and 152 on operator panel 116, with line 0 being the data and line 1being a clock signal.

Port B: Lines 0-2 and 7 are configured for output and lines 3-6 areconfigured for input. Specifically,

Lines 0-5 are coupled to the various keys on operator panel 116 withlines 0-2 selecting a row and lines 3-5 reading the column of theselected row.

Line 6, labeled HISPDER, when high, indicates a catheter motor 172error. This signal is also used in handshaking operations.

Line 7, labeled /HISPDEN, is used to enable and disable the cathetermotor 172. When the line is high, the catheter motor 172 is disabled andwhen the line is low, the catheter motor 172 is enabled.

Port C: Lines 0-5 are configured for output and lines 6 and 7 areconfigured for input. Specifically,

Line 0, labeled LATCHEN, is connected to enable latch 186, which alsoresponds to the data bus 184 signals from port A. When LATCHEN becomeslow the data then on the data bus 184 appears at the eight outputs oflatch 186. These outputs then become the following signals, which areprovided as indicated to accomplish the function set out:

BEEPER causes an audible error sound;

/REV, when low, indicates the injector motor 176 is to operate in thereverse direction;

RUN, when high, indicates the injector motor 176 is to operate in theforward direction;

LIGHT causes the Armed/Injecting light 124 to be illuminated;

PRESS LIM causes the Pressure Limit light 150 to be illuminated;

SPDERR causes the Speed Error light 158 to be illuminated;

NOFLO causes the No Fluid light 148 to be illuminated; and

LOFLO causes the Low Fluid light 146 to be illuminated.

Line 1, labeled WDOG, is a signal provided at least once every 1.2seconds during proper operation. It is used to toggle watchdogmonostable multivibrator, or one-shot, circuit 188 prior to its 1.2seconds timeout.

Line 2, labeled SELDA1, is provided to the latch enable (LE) input ofcatheter motor digital to analog converter (DAC) 190. When the SELDA1signal is low, the catheter motor DAC 190 reads the data providedthereto on the data bus 184. The SELDA1 signal and data 184 bus signalsare similarly provided to speed processor 180.

Line 3, labeled ENDISD, is used to enable display drivers withinoperator panel 116 to accept the serial information via data bus lines 0and 1.

Line 4, labeled SYSINHIBIT, when high, resets the displays, output latch184, and injector motor relays shown in FIG. 15.

Line 5, labeled SELDA2, is provided to the line enable (LE) input ofinjector motor digital to analog (D/A) converter 192.

Line 6, labeled PRSFST, when high, manifests that the injector system104 has reached its pressure limit.

Line 7, labeled PRSSLO, when high, manifests that the injector systemhas been at the pressure limit for at least one second.

Port D has only input lines. Specifically,

Line 0, labeled PHASEA, is used to manifest the state of channel A fromencoder disk 174.

Line 1, labeled PHASEB, is used to manifest the state of channel B fromencoder disk 174.

Line 2, labeled LOLIM, when low, manifests that the plunger of the fluidinjector syringe 120 has reached the low fluid limit of 30 millilitersof fluid being left in syringe 120.

Line 3, labeled FOOT, when high, manifests that the foot switch has beenpressed.

Line 4, labeled DOOR, when high, manifests that the syringe door 144 isopen.

Line 5, labeled FWDLIM, when low, manifests that the syringe 120 plungerhas reached the forward limit switch, that is that the syringe is empty.

Line 6, labeled EDGE, causes an interrupt on the rising edge wheneverthere is a change in states of the encoder 174 channels. This signal islow for about 50 microseconds on the raising or falling edge of eitherencoder channel A or B, and is discussed further with respect to FIG.14.

Line 7, labeled REVLIM, manifests that the syringe 120 plunger hasreached its reverse direction limit.

In addition, main processor includes an interrupt input, labeled /INT,to which is coupled the output of AND gate 194. The keyboard columnsignals, PB3, PB4 and PB5 from operator panel 116 are provided as thethree inputs of AND gate 194 and thus whenever a key on operator panel116 is pressed, a signal causes an interrupt to occur in the executionof the program by main processor 178. Additionally, main processor 178has an interrupt input to which is coupled the EDGE signal to detectmotor movement, described above for Port D, Line 6. Finally, mainprocessor 178 has a /RESET input to which the output of one shot 188 iscoupled. If one-shot 188 is not reset at least every 1.2 seconds, it isassumed that main processor has "hung up", that is the program hasentered into a loop from which it is unable to leave, and the output ofone-shot 188 becomes high and resets main processor 178. It should benoted that the FWDLIM, REVLIM, LOLIM and DOOR signals provided to port Dof main processor 178 are provided from various limit sensors 196physically located throughout system 100.

Speed processor 180 is a Motorola MC68705P3 eight bit microprocessorhaving 112 bits of RAM, 1786 bits of EPROM, and two eight bit I/O portsA and B and a four bit I/O port C. The primary function of speedprocessor 180 is to monitor the speed of catheter motor 172 and stopoperation if catheter motor is not operating within 5000 rpm of theprogrammed speed. The eight bits of Port A are configured as input portsdesigned to receive the data on data bus 184 in order that speedprocessor 180 is aware of the speed value sent to catheter motor DAC190.

Port B of speed processor 180 has lines 0 and 4 configured as inputs andlines 3 and 6 configured as outputs. Lines 1, 2, 5 and 7 of port B arenot used and are accordingly labeled N/C. The various lines of Port Bare as follows:

Line 0, labeled SENSOR/2 is a sequence of SENSOR pulses that originatefrom a hall effect device in the catheter motor 172 and reflect theactual speed of the catheter motor 172; the SENSOR/2 signal is theSENSOR signal passed through a divide by two circuit 198.

Line 3 contains a high signal when a speed error is first detected andis provided to a timeout circuit 200.

Line 4 monitors to the output of to the output of timeout circuit 200and when it becomes high, a speed error in catheter motor 172 isdetected.

Line 6 is similar to the WDOG signal from port C, Line 1 of mainprocessor 178 and is used to continually reset one shot circuit 202 onceat least every 1.2 seconds.

Port C is configured such that lines 0 and 1 are outputs and line 2 isan input. Line 3 of port C is not used. The various signals of port Care:

Line 0 provides a signal through emitter follower transistor circuit 204which is used to enable the catheter motor 172 to run. The signal islabeled HISPD PWR and motor 172 is enabled when it is high.

Line 1, labeled HISPDER, is provided as a high signal to main processor178 when speed processor 180 detects a speed error with respect tocatheter motor 172.

Line 2 manifests the result from OR gate 206, to which the /REV and RUNsignals are provided. When line 2 becomes low, speed processor 180 isinstructed to reset the speed error condition or to be prepared toaccept information from main processor 178.

In addition to three ports, speed processor 180 has an interrupt input(/INT) to which is coupled the SELDA1 signal from main processor 178, aTIMER input to which the SENSOR/2 signal is coupled and a /RESET inputto which the output of one shot 202 is coupled.

Both catheter motor controller 170 and injector motor controller 182respond to the analog signals from DACs 190 and 192, respectively, andprovide width modulated pulses to drive the motors 172 and 176. DACs 190and 192, in turn, are enabled to respond to the data signal on data bus184 when a respective one of the SELDA1 and SELDA2 signals are providedfrom main processor 178. The SELDA1 pulse is provided when a change tothe catheter motor 172 speed is requested by main processor 178 and theSELDA2 signal is provided each time a change to the injector motor 176speed is requested by main processor 178. The output of catheter motorDAC 190 is provided through an integrator circuit 208, to provide asmooth acceleration/deceleration to the catheter motor controller 170,which in turn provides three pulse width modulated signals to the threewindings of catheter motor 172. The output of injector motor DAC 192 isprovided as the VDC signal to injector motor controller 182, shown inmore detail in FIG. 15.

Referring now to FIG. 13, an electrical schematic diagram of foot switch108 is shown. Foot switch 108 includes double pole switch having twoswitch arms 212 and 214 each connected to electrical ground. As long asfoot switch 108 is not pressed, the position of switch arms 212 and 214is as shown connected to output terminals 216 and 218 respectively; whenfoot switch 108 is depressed, switch arms 212 and 214 move to contactterminals 220 and 222, which are otherwise unconnected. Terminal 216 iscoupled to positive voltage +V through resistor 224 and terminal 218 iscoupled to positive voltage +V through resistor 226. The junction ofterminal 216 and resistor 224 is coupled through inverter 228 and islabeled as the FOOT signal, which is sent to processor 178 for thepurpose of enabling operation of injector motor 176. After the injectormotor has been operating for a couple of seconds, main processor 178changes the state of the /HISPDEN signal to indicate that catheter motor172 can begin operation. This signal together with the junction ofterminal 218 and resistor 226 are provided through NAND gate 230 andinverter 232. The output from inverter 232 is the MSTART signal, whichis provided to enable the pulse width modulators in catheter motorcontroller 170.

Referring now to FIG. 14, the manner of determining the speed anddirection of the fluid injector motor 176 will be explained. Aspreviously mentioned, encoder disk 174 is affixed to the output shaft175 of injector motor 176. Encoder disk 174 includes a plurality, forexample twelve, of magnetic material elements 234 evenly spaced aboutthe peripheral edge thereof. A pair of magnetic detectors 236 and 238,such as hall effect devices, are positioned juxtaposed to encoder disk174 so as to provide a signal whenever a magnetic element is alignedwith a detector. These signals are then provided through detectorcircuits 240 and 242, which provide corresponding pulse shaped signals.Detectors 236 and 238 are positioned so as to be approximately 180° outof phase with one another, that is, they are positioned so that when oneof detectors 236 or 238 is fully aligned with a magnetic element 234,the other of detectors 236 or 238 is fully aligned with the nonmagneticspace between elements 234. The output of detector circuits 240 and 242are respectively the PHASEA and PHASEB signals. Both the PHASEA andPHASEB are provided as inputs to EXCLUSIVE NOR gate 144, the output ofwhich is the EDGE signal.

As previously described, the PHASEA, PHASEB and EDGE signals are allprovided to main processor 178 and in response to these signals, thespeed and direction of fluid injector motor 176 can be determined. TheEDGE signal is a pulse signal which is at twice the frequency of eitherof the PHASEA and PHASEB signals due the EXCLUSIVE NOR operation of gate244. By looking at the relative phase difference between the PHASEA andPHASEB signals, that is whether the PHASEA signal leads or lags thePHASEB signal, the direction of injector motor 176 can be determined.This information is used by main processor 178 to determine when toprovide the data to output latches 184, resulting in the provision ofthe RUN and /REV signals. These signals are, in turn, used by theinjector motor controller 182 to control rotational direction ofinjector motor 176.

Referring now to FIG. 15, a more detailed diagram of injector motorcontroller 182 is shown. Pulse width modulator 146 provides pulses at arate of 27 KHz having a duty cycle dependent upon the magnitude of thevoltages applied thereto. Specifically, the voltages applied to pulsewidth modulator 246 will vary between about 0.5 volts to about 3.5 voltsand the greater the voltage, the less the duty cycle of the modulatedpulses at the output of pulse width modulator 246. Two different voltagecontrol signals are applied as inputs to pulse width modulator 246 andthe signal having the greater voltage controls the output.

The series of pulses at the output of pulse width modulator 246 areprovided through drive circuit 248 to the gate electrode of power FETtransistor 250 to render the source-drain path of transistor 250conductive for the duration of each pulse. When FET transistor 250 isrendered conductive, the drive voltage V_(D) is coupled through reverserelay 252 and run relay 254 to one of the forward (+) or reverse (-)terminal of injector motor 176. When voltage V_(D) is coupled to theforward terminal (+), injector motor 176 runs in the forward directioncausing fluid to be ejected from syringe 120 and into catheter 10 or towaste if the Empty key 140 is pressed. On the other hand, when voltageV_(D) is coupled to the reverse terminal (-), injector motor 176 runs inthe reverse direction so as permit the plunger to be returned to itshome position and/or to fill syringe 120 if the Fill key 142 isdepressed.

Reverse relay 252 includes two switch arms 256 and 258; switch arm 256has two associated terminals 260 and 262 and switch arm 258 has twoassociated terminals 264 and 266. Similarly, forward relay 254 includestwo switch arms 268 and 270; switch arm 258 has two associated terminals272 and 274 and switch arm 270 has two associated terminals 276 and 278.Switch arm 256 is connected to terminal 272 and switch arm 258 isconnected to terminal 276 to interconnect reverse relay 252 and forwardrelay 254. Switch arm 268 is connected to the forward terminal (+) ofinjector motor 176 and switch arm 270 is connected to the reverseterminal (-) of injector motor 176.

A relay coil 280, when current flows therethrough, is coupled to moveswitch arm 256 from terminal 262 to terminal 260 and switch arm 258 fromterminal 266 to terminal 264. Similarly, a relay coil 282, when currentflows therethrough, is coupled to move switch arm 268 from terminal 274to terminal 272 and switch arm 270 from terminal 278 to terminal 276.One end of each of coils 280 and 282 is coupled to a source of positivevoltage and the other end of each of coils 280 and 282 is coupledthrough the collector emitter path of respective transistors 284 and 286to ground. As connected, coils 280 and 282 have current flow when therespective transistors 284 and 286 are rendered conductive by currentflow towards into the respective bases thereof,

The base of transistor 286 is coupled to the output of NOR gate 288,which has its two inputs coupled to the /REV from output latches 184 andthe SYSINHIBIT signal from main processor 178. Thus, coil 280 isenergized only when it is desired to run the injector motor 176 inreverse, as manifested by the /REV signal being high and the SYSINHIBITsignal being low.

The base of transistor 286 is coupled to the output of three input ANDgate 290; one input to AND gate 290 has the RUN signal from outputlatches 184 coupled thereto and another input of AND gate 290 has the/SYSINHIBIT signal, provided by passing the SYSINHIBIT through inverter292, applied thereto. The third input of AND gate 290 is coupled to theoutput of overcurrent and overvoltage protection circuit 294. Protectioncircuit 294 monitors two signals MT1 and MT2 (described hereafter) frommotor 176 to assure that the speed and back pressure of the injectorsystem are not over limits. If either the speed or pressure become overlimits during normal operation of injector motor 176 (RUN and/SYSINHIBIT are high), then detection circuit 294 provides a high signalto AND gate 290, thereby causing a high signal therefrom which energizescoil 282. This in turn switches switch arms 268 and 270 to contactterminals 274 and 278 and thereby removes the application of power toinjector motor 176.

The drain of FET transistor 250 is coupled to terminals 262 and 264 ofreverse relay 252. The back EMF of injector motor 176 is proportional tothe speed of injector motor 176 and appears as the voltage at the drainof FET transistor 250; this voltage is designated as the MT2 voltagesignal. Terminals 260 and 266 of reverse relay 252 are coupled togetherand through a very small, such as 0.1 ohm, resistor 296 to ground,thereby permitting the current through motor 176 to be measured. Thiscurrent is proportional to the back pressure of injector system 104. Thejunction between terminals 260 and 266 and resistor 296 is the MT1voltage signal and manifests the current through motor 176.

The upper input of pulse width modulator 246 is the sum of threedifferent signals provided through respective commonly connected scalingresistors 298, 300 and 302. The other end of resistor 198 has the VDCsignal from the output of injector DAC 192 (FIG. 12) connected theretoand represents the primary signal (in the absence of detected speed orpressure error conditions) for controlling modulator 246. The other endof resistor 300 is connected to the output of a speed monitor circuit304 which senses the back emf of injector motor 176. Speed monitorcircuit 304 has the MT1 and MT2 signals applied to a differentialamplifier therein, the output of which is a voltage signal proportionalto the speed of injector motor 176. The other end of resistor 302 isprovided through an analog inverter 306 to the output of a pressuredetection circuit 308. Pressure detection circuit 308 responds to theMT1 signal and provides a negative voltage which is proportional to thecurrent through motor 176 and the pressure buildup in syringe 120. Thepolarity of this voltage is inverted by inverter 306 and functions as awinding voltage drop compensation signal.

The lower input to pulse width modulator 246 is sum of two signalsprovided through commonly connected resistors 310 and 312. The other endof resistor 310 is connected to the pressure detection circuit 308 andthe other end of resistor 312 is connected to selector circuit 314.Selector circuit 314 provides one of three different voltages, asdetermined by the settings of potentiometers 316, 318 and 320, to itsoutput, as determined by the code of the REV and HI/LO signals providedto the selector inputs thereof. The REV signal is the /REV signalprovided through inverter 322. The center tap arm of potentiometer 316is connected to the first and second data inputs of selector circuit 314and is coupled as the output of selector circuit 314 whenever the /REVsignal is low, thereby indicating reverse direction movement of injectormotor 176. The voltage from the center tap arm of potentiometer 318appears at the output of selector circuit 314 is the /REV signal ishigh, thereby indicating forward movement of injector motor 176, and theHI/LO signal is high and the voltage from the center tap arm ofpotentiometer 318 appears at the output of selector circuit 314 if the/REV signal is high and the HI/LO signal is low. The particular signalappearing at the output represents the selected pressure permitted forfluid injector system 104, as determined by the operator's selection ofthe keys on operator's panel 116.

The junction of resistors 310 and 312 is also coupled to comparator 324which provides the PRSFST signal to main processor 178 whenever theinjector system 104 pressure has almost reached the limit as set by theoperator. The output of comparator 324 is also provided to a one secondtimeout circuit 326, which provided the PRSSLO signal if the PRSFSTsignal remains high for more than one second.

In operation, the speed demand signal VDC from injector DAC 192 issummed with the speed signal from speed monitor 304 and the compensationsignal from inverter 302 and applied to the upper input of pulse widthmodulator 246. At the same time, the pressure signals are provided tothe lower input of modulator 246. Modulator 246 responds to the highervoltage applied thereto and decreases the duty cycle accordingly. This,in turn, reduces the speed of the injector motor 176.

Referring to both FIGS. 12 and 15, the speed of injector motor 176 iscontrolled as described below. When foot switch 108 is pressed, asoftware timer within main processor 178 is set to a frequency basedupon the programmed flow rate information on display 134 of operatorpanel 116. The timeout signals from the software timer are compared withthe EDGE signals from gate 244 in FIG. 14, which are related to theactual speed of motor 176, as detected from encoder wheel 174. Each timethe software timer times out, a stored speed demand value is incrementedby one bit and shortly thereafter the value stored in the speed demandregister is provided over data bus 184 to injector DAC 192. At the sametime, the SELDA2 signal is provided to enable injector DAC 192 toreceive the new data bus 184 data signal.

Whenever an EDGE signal is detected, the encoder 174 phase signals,PHASEA and PHASEB, are decided to determine whether forward or reversemotor shaft 175 rotation is occurring. If forward rotation is occurring,then the speed demand register is decremented by one bit. If reverserotation of shaft 175 is detected while the RUN signal is on, therebyindicating motor jitter, then the speed demand register is incrementedby one bit to cancel the corresponding forward pulse. As injector motor176 comes up to speed, the speed demand value will increaseexponentially as the increments caused by the timer timeout arecancelled more and more by the higher rate of EDGE pulses resulting fromincreasing speed.

During normal forward operation, an increase in the load will cause acorresponding decrease in speed. This is offset by an increase in thespeed demand value and the injector DAC 192 output voltage. If theallowable pressure is reached, the FRSFST signal is issued. Mainprocessor 178 responds to the PRSFST signal by not increasing the speeddemand value, and hence the injector DAC 192 output value any further.If the PRSFST signal persists for one second, the PRSSLO signal isissued and main processor 178 shuts system 100 down.

In addition, if main processor 178 attempts to increase the speed ofinjector motor 176 and no speed increase response is detected inmonitoring the EDGE signals for one revolution, then main processor 178shuts down the entire system. Thus, if detection circuit 294 detects anemergency over voltage or over current situation and causes the runrelay 254 to close, thereby shutting off power to injector motor 176,main processor 178 will detect the injector motor slow down by longerEDGE signals and attempt to compensate by appropriate signals tocatheter motor DAC 190. Upon finding an absence of response (since runrelay 254 has been reset), main processor 178 issues commands to shutdown the catheter motor 172 and the remainder of the system. At the sametime, an error message is displayed on the displays of operator panel116. It should be noted that despite the fact the injector motor 176 hasbeen shut down, fluid will continue to flow for several seconds untilthe line pressure is reduced to zero. This is more than sufficient timeto reduce the speed of the catheter motor 172.

In general, the speed checking for the much higher speed catheter motor172 is accomplished by speed processor 180. Speed processor 180 readscatheter motor 172 speed data provided over data bus 184 from mainprocessor 178 at the time it is provided to catheter DAC 190. This datais compared with the SENSOR/2 signal provided to the Timer input ofspeed processor 180. Using a table to compare the demand and actualspeed values, speed processor 180 provides an error signal over line 3of port B if the difference between the two is greater than theequivalent of a set rpm value. If this signal persists for one and ahalf seconds, timeout circuit 200 will change states and deliver anerror signal to Line 4 of Port B. This, in turn, results in the sendingof the HISPDER signal to main processor 178, which, in turn, causescatheter motor controller 170 to shut off catheter motor 172.

The operation of the program within speed processor 180 will not bedescribed. The first routine executed on application of power or resetis called RESET. This routine initializes the ports and stack andperforms a RAM and ROM test. Thereafter, it initialized itself with aspeed request of zero and configures and starts the internal timer. Azero speed request is done by loading the accumulator with the requestedvalue and then causing a software interrupt. In this case, the requestedvalue is zero. The timer is then set up to run on a logical AND of thetimer input and the microprocessor's internal clock (1 MHz) so that itcan cause an interrupt every time it counts down to zero. Finally, theRESET routine jumps into the middle of the SPDER routine (describedhereafter) so that it does not flag a speed error and, instead, waitsfor the high to low to high transition from main processor 178 to returnto the main loop.

The main loop is where speed processor 180 actually monitors the speedof the catheter motor 172. It is also important to note that there aresections in the loop that check if a hand shake is to be done. In orderfor the main loop to function properly, the internal eight bit timer isconfigured so that the clock incrementing it is based on the logical ANDof the internal clock (or operating speed of one MHz) and the SENSOR/2signal being applied to the Timer input. The SENSOR/2 signal has a 50%duty cycle whose period is two times that of the period of the SENSORsignal coming from the catheter motor 172. The SENSOR signal is not a50% duty cycle, which is why its frequency is divided by two. This isconvenient because the amount of time the timer input is high is thesame time for the period of one complete cycle of the catheter motor172. By using this value, the speed of catheter motor 172 can be tested.Since speed processor 180 cannot measure the time that the timer inputis low, it makes sure that it does not stay low for too long. Speedprocessor 180 performs the speed check, and by taking two readings, agood average of the speed of the motor is achieved. In checking if it iswithin the speed tolerance, the software does an upper and lower check.

Whenever the speed is out of tolerance, speed processor 180 does notsignal main processor 178 right away; rather it starts timeout circuit200. After timeout circuit 200 is started, speed processor 180 keepsreading the speed of catheter motor 172. If it reads a speed that iswithin the tolerance, it resets timeout circuit 200 if it has notalready timed-out. If timeout circuit 200 does time out before speedprocessor 180 can get a speed reading that is within tolerance, speedprocessor 180 notifies main processor 178 of the speed error conditionby issuing the HISPDER signal.

There are two interrupts that are critical to the operation of the mainloop. They are the SELDA1 interrupt coming from main processor 178 andthe internal timer interrupt. The SELDA1 interrupt from main processor178 is an external interrupt which is signaled through the /INT line ofspeed processor 180. This interrupt occurs whenever main processor 178sends a speed value over data bus 184 to catheter motor 172. Since speedprocessor 180 needs to know what speed value is requested, it also readsand stores the new speed value.

The timer interrupt occurs when the timer input bit is high and thetimer times out. Since the timer input signal stays high much longerthan the eight bit timer can count, the timer interrupt routine isgeared to increase a counter location every time that the timer timesout. This expands the total bits used to count the length of time thatthe timer input stays high to sixteen bits.

The remainder of this portion of the disclosure discusses the routinesinvolved with the flow of the main loop, then the TIMER interrupthandler and finally the /INT interrupt handler. There is also anotherinterrupt that is used by speed processor 180 called the softwareinterrupt. It is only used during the RESET routine and is not of majorimportance to the operation of the system, but is discussed since it ispart of the /INT interrupt handler.

The LOOP routine is the starting point where speed processor 180 spendsmost of its time. The first thing done is to check if main processor 178wants to perform a handshake, as mentioned previously. Then, the LOOProutine checks if it has received two cycles of the SENSOR/2 signal fromcatheter motor 172. When two SENSOR/2 cycles have been received, theLOOP routine jumps to the CHECK routine to see if the received SENSOR/2manifest that the catheter motor 172 is within the allowable speedrange. Then, it controls a test pin to show that the waveform, as seenby speed processor 180, is low and it clears memory locations TPER andTPER+1 which are used to count how long it sees a low signal. Althoughthis count is not accurate, speed processor 180 performs this count toensure that the waveform into the timer input bit does not stay low fortoo long.

The WLOW routine is where the program of speed processor 180 spends itstime when the timer input is low. This routine is used when speedprocessor 180 is getting ready to read the period of the signal fromcatheter motor 172 while it is low. The tasks that the WLOW routineperforms are the following

1. checks if main processor 178 requests a handshake;

2. resets the watchdog circuit;

3. checks if the timer input is low for too long;

4. checks if timeout circuit 200 has times out;

5. loops if the timer input is still low; and

6. continues onto the WHIGH routine if it sees a high signal on thetimer input.

The WHIGH routine is executed when the timer input is high. This routineis used when speed processor 180 is actually reading the period of theSENSOR/2 signal from catheter motor 172 while it is high. The tasks thatthis routine performs are the following:

1. checks if main processor 178 requests a handshake;

2. resets the watchdog circuit;

3. checks if the timer input is high for too long;

4. checks if the time-out circuit has time out;

5. loops if the timer input is still high; and

6. branches to the LOOP routine to get ready to read another period ifthe timer input is low.

The ISLOW routine is called if the WLOW routine finds that the timerinput is low too long. The ISLOW routine sets TVALH to reflect a slowspeed reading. It then assumes that the catheter motor 172 was notrunning too fast and skips the code that checks for a "running too fast"condition by jumping into the section of the CHECK routine where itdetermines if catheter motor 172 is running too slow.

The CHECK routine is where the two acquired cycles are tested todetermine if they are within the allowable speed range. It first checksif the signal is too fast; in other words, past the upper speed limit ofcatheter motor 172 operating tolerances. Next, it checks if the speed isbelow the lower speed limit. If the speed is within the speedtolerances, then the CHECK routine makes sure that all error flags arecleared. Before speed processor 180 gets a speed reading again, thisroutine waits for the input to the timer to be low. However, whilewaiting for the input to go low, the CHECK routine makes sure that thetimer input does not stay high too long. When the input goes low theCHECK routine jumps back to the main loop.

Since the software timer operates in a way that it counts down, ratherthan up, speed processor 180 takes the value of zero and subtracts itfrom the value stored in the timer register TDR to get the period thatis still stored in the timer register. As mentioned earlier, the actualcounter for the period is expanded to sixteen bits by using memorylocation TVAL to keep track of the number of times that the timer timesout. It is this value calculated using the timer register. These valuesare stored at locations TVALH and TVALL, respectively. Note that TVAL isupdated by the timer interrupt routine and not by the main loop.

When a speed value is requested, the /INT routine sets up locationsVFASTH/VFASTL and VSLOWH/VSLOWL to reflect the speed limits of therequested speed value. To check if the speed that is read is past theupper limit, locations TVALH/TVALL and VFASTL/VFASTL are compared toeach other, respectively. If TVALH/TVALL are less than or equal toVFAST/VFASTL, then locations TVALH/TVALL and VSLOW/VSLOWL are comparedto each other, respectively. Then, if locations TVALH/TVALL are greaterthan or equal to the values at locations VSLOWH/VSLOWL, the software inspeed processor 180 manifests that there is no high or low speed errorand it clears the hardware time-out circuit 200. However, if a speederror is detected, the timeout circuit 200 control bit is set high evenif it was previously set.

Speed processor 180 then re-synchronizes itself on a low edge input ofthe SENSOR/2 signal to the timer input by setting the software timerregister to $FF (as used herein, $ indicates "hexadecimal") to show thatit has acquired zero period readings. The timer register is also resetand memory location TVAL is cleared to zero. At this point, if the timerinput is low, speed processor 180 loops back to the main loop to getanother speed reading for catheter motor 172. If the input is not low,the program checks if main processor 178 is requesting a handshake.Then, the watchdog one shot circuit 202 is reset. Next, location TVAL ischecked to determine if the timer input is staying high for too long. Ifthis is the case, further investigation is necessary; therefore, thesoftware branches to the CHECK routine. If not, time-out circuit 200 ischecked to see if it has expired. If the timer input bit is still high,the RSYNC routine is repeated with the exception of resetting the TVALmemory location and the timer register. If the timer input bit goes low,the RSYNC routine is called again only to properly reset the timerregister and memory location TVAL and to ensure that the timer input islow.

The TOOSLOW routine is called during the CHECK routine, if the acquiredspeed reading is found to be below the acceptable lower tolerance limit.The purpose of TOOSLOW routine is to indicate a slow speed erroroccurred and to flag the error. To do this, the TOOSLOW routine sets thediagnostic bits and calls the MRG routine to actually flag the error.

The TOOFAST routine is called during the CHECK routine, if the acquiredspeed reading is found to be above the acceptable upper tolerance limit.The purpose of the TOOFAST routine is to show the world that a fastspeed error occurred and to flag the error. To do this, the TOOFASTroutine sets the diagnostic bits properly and calls MRG routine toactually flag the error.

The MRG routine flags a speed error condition. It first makes sure thatthe catheter motor 172 was stopped. To flag the speed error condition,the MRG routine does not actually show the error to main processor 178,rather it starts the time-out circuit 200. Then it jumps to the RSYNCroutine to get another speed reading.

Every time the time-out circuit 200 is found to have expired, the SPDERroutine is called to let main processor 178 know of the speed errorcondition. After sending notice of the speed error to main processor 178by providing the HISPDER signal as a high value, the SPDER routine waitsfor main processor 178 to send notice to clear the speed error conditionbefore it continues monitoring the speed of catheter motor 172 again. Itis important to note that the SPDER routine is also used for performingthe handshake between main processor 178 and speed processor 180,because it requires a high to low to high sequence before it resets aspeed error.

In order to flag a speed error, the SPDER routine sets the speed errorline high. Then it waits for the high to low to high sequence and thenclears the speed error condition by clearing the speed error line,resetting the input to timeout circuit 200 and waiting for timeoutcircuit 200 to clear, re-enabling catheter motor 172, and jumping backinto the section of the main loop that continues to monitor the speed ofcatheter motor 172.

The TSTLOW routine is designed so that, every time it is called, itconsumes a fixed amount of time. It also checks how many times it iscalled. The carry bit is cleared to flag that the timer input, which isthe same signal going into Bit 0 of Port B, has been low for too long.Otherwise, the carry bit is set to indicate that the signal is stillacceptable. In order to keep track of how many times TSLOW is called theTSTLOW routine increases memory location TPER every time that it iscalled. It increases memory location TPER+1 every time the increasing ofmemory location TPER loops back to zero. It takes 80 microseconds (or 80microprocessor clock cycles) to service the TSTLOW routine. The routineis allowed to be called $333 times (representing 70 ms). When locationTPER reaches a value of $3, the carry flag is cleared before returningto the caller of the TST LOW routine; otherwise, it returns to thecaller with the carry flag set.

Whenever a routine mentions resetting the watchdog circuit the WDOGroutine is called to perform that task. In order for the WDOG routine toreset the watchdog circuit, it brings Bit 6 of Port B low and then highagain.

The TIMER interrupt handler routine is responsible for the monitoring ofthe speed of catheter motor 172. This routine is called every time theinternal eight bit timer times out so that it keeps track of the numberof times that the timer times out and manifests when the timer timesout. To do this, the timer interrupt handler first checks the valuestored at location TVAL and checks if it has already been increased to$FF. If so, it does not increase TVAL anymore and manifests through thediagnostic timeout bit that a timeout has occurred. If TVAL is not at$FF, the TIMER interrupt handler routine increases TVAL by one andmanifests that a timeout occurred, as mentioned previously.

The SELDA1 line coming from main processor 178 that is tied to the ofcatheter motor DAC 192 is also tied to the interrupt request line /INTof speed processor 180. Since the SELDA1 signal is active low, speedprocessor 180 is interrupted every time that a speed value is latched onthe catheter motor DAC 192. Since there is a possibility that a speedvalue might be sent while speed processor 180 is servicing the timerinterrupt, as mentioned previously, a handshake is performed to ensurethat speed processor 180 got the new speed value. In addition to gettingthe requested speed value, the /INT routine sets up the proper values atmemory locations VSLOWL/VSLOWH and VFASTL/VFASTH. Setting up thesememory locations is the portion of the /INT routine that makes up thesoftware interrupt handler. This section of the /INT routine is calledSOFT.

The very first thing that the /INT routine does is to get the speed datavalue sent to Port A. This is the same value that is sent to thecatheter motor DAC 192. Then the /INT routine checks if this is a validvalue by checking whether or not the /INT line is active. If the /INTline is inactive, the /INT routine does not accept the value on Port Aas a valid speed request value and exits. If the /INT line is active,the /INT routine accepts the value to be valid and speed processor 180lets main processor 178 know that speed processor 180 has acquired thenew speed value by setting the speed error line. This is the beginningof the handshake sequence between the two processors that verifies speedprocessor 180 has received the newly requested speed value. Then the/INT routine clears time-out circuit 200 to prevent a time-out fromoccurring. The /INT routine then waits for main processor 178 todeactivate the /INT line. While waiting for the /INT line to bedeactivated, watchdog circuit 202 is continuously being reset. Note thatthe WDOG routine is not called to reset the watchdog, rather thenecessary code is inserted in the loop for timing purposes.

When main processor 178 deactivates the /INT line, it tells speedprocessor 180 that main processor 178 has received notice that the speedvalue was received. This is the second phase of the handshake sequence.Since speed processor 180 uses the speed error line to do the handshake,speed processor 180 must deactivate the speed error line so that mainprocessor 178 does not mistake it for a speed error. In the final phaseof the handshake routine, main processor 178 waits for this line to bedeactivated.

The SOFT routine sequence can also be interpreted as the softwareinterrupt request handler/routine. The purpose of the SOFT routine is togenerate offsets into the SLOWTAB and FASTTAB tables to retrieve thetolerance values for the requested speed value. The values retrievedwill be stored in the proper memory location. It is the responsibilityof the CHECK routine to determine if the detected speed value fallswithin these tolerance values.

In order to retrieve the tolerance values, the offsets must first becalculated. Note that since the offset points to two bytes and not one,it has to be multiplied by two. The calculated offset is stored atlocation WRO and location WRO+1. Next, the starting address of theSLOWTAB is added to this offset and is stored as the operand for the"LDA $XXXX" command in RAM. After the addresses are properly set up,GETINI is called to ensure that the proper opcodes are stored in theproper RAM locations so that a jump to GET can be performed. Followingthe initialization of the proper RAM locations, the GET routine iscalled to get the high byte of the lower limit for the requested speedvalue. After the byte has been retrieved, it is stored in memorylocation VSLOWH. Then, INCGET is called to increase the address of theoperand for the "LDA $XXXX" command stored at memory location GET. Thispoints to the low-byte of the lower limit for the requested speed valuewhich is stored in location VS LOWL. The same procedure is performed toget the upper tolerance limit bytes from FASTTAB except that they arestored in memory locations VFASTH and VFASTL instead of VSLOWH andVSLOWL. This then marks the end of the /INT routine so the routinereturns to wherever the processor was interrupted.

In summarizing the operation of speed processor 180, it contains threebasic routines, the main loop, timer interrupt handler routine, and theinterrupt request/interrupt handler routine. The timer routine performsthe actual counting of the pulses returning from catheter motor 172. Theinterrupt request routine informs speed processor 180 of the newoperating speed. The main loop then takes the speed value generated bythe timer routine and compares it to the speed value set up by theinterrupt request routine.

That which is claimed is:
 1. A thrombectomy procedure comprising thesteps of:(a) providing a rotating intravascular catheter having(1) aflexible jacket with opposed proximal and distal ends and a centralpassageway extending between the ends, (2) a working head located at thedistal end of the jacket including a high-speed canalizing tip adaptedfor removing thrombus from the lumen of a vessel, the tip having a driveshaft rotatably supported on the working head and including a guidewayin communication with the central passageway, the guideway being furtheradapted to route a guidewire, probe or the like distally through thetip, (3) a flexible drive cable extending through the central passagewayof the jacket for rotating the tip and (4) a plurality of relativelyhigh capacity fluid infusion ports formed in the jacket and in fluidcommunication with the central passageway; (b) providing means coupledto the drive cable for rotating the tip at speeds in the range of from0-100,000 RPM; (c) inserting the catheter jacket a selected distanceinto the lumen of a vessel; (d) inserting a guide wire into the centralpassageway and advancing the jacket over the guide wire another selecteddistance; (e) infusing a fluid contrast media through the ports at avolumetric flow rate from 5-1200 milliliters per minute into the lumenof the vessel, allowing precise manipulation of the guide wire to thelocated site of the thrombus using suitable visualization techniques;(f) removing the guide wire from the jacket and lumen, inserting theremovable drive assembly and coupling it to the tip; and (g) rotatingthe tip to remove the thrombus.
 2. The method of claim 1 wherein thecanalizing tip further comprises an impeller which is surrounded by aprotective shroud shielding the wall of the vessel from the tip.
 3. Themethod of claim 2 wherein step (e) further comprising infusing aradiopaque liquid at a rate from 0.1-20 ml./sec.